package com.qiaoba.module.system.converter;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qiaoba.module.system.entity.SysPost;
import com.qiaoba.module.system.entity.dto.SysPostDTO;
import com.qiaoba.module.system.entity.param.SysPostParam;

/**
 * 岗位 类型转换
 *
 * @author ailanyin
 * @date 2023-09-10 08:57:58
 */
public class SysPostConverter {

    public static SysPost dto2Entity(SysPostDTO dto) {
        SysPost sysPost = new SysPost();
        sysPost.setPostId(dto.getPostId());
        sysPost.setPostName(dto.getPostName());
        sysPost.setPostCode(dto.getPostCode());
        sysPost.setPostSort(dto.getPostSort());
        sysPost.setStatus(dto.getStatus());
        sysPost.setRemark(dto.getRemark());
        return sysPost;
    }

    public static QueryWrapper<SysPost> param2Wrapper(SysPostParam param) {
        QueryWrapper<SysPost> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .orderByAsc(SysPost::getPostSort)
                .like(StrUtil.isNotBlank(param.getPostName()), SysPost::getPostName, param.getPostName())
                .like(StrUtil.isNotBlank(param.getPostCode()), SysPost::getPostCode, param.getPostCode())
                .eq(StrUtil.isNotBlank(param.getStatus()), SysPost::getStatus, param.getStatus());
        return wrapper;
    }
}
